
/* A Bison parser, made by GNU Bison 2.4.1.  */

/* Skeleton interface for Bison's Yacc-like parsers in C
   
      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
   Free Software Foundation, Inc.
   
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.
   
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   
   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

/* As a special exception, you may create a larger work that contains
   part or all of the Bison parser skeleton and distribute that work
   under terms of your choice, so long as that work isn't itself a
   parser generator using the skeleton or a modified version thereof
   as a parser skeleton.  Alternatively, if you modify or redistribute
   the parser skeleton itself, you may (at your option) remove this
   special exception, which will cause the skeleton and the resulting
   Bison output files to be licensed under the GNU General Public
   License without this special exception.
   
   This special exception was added by the Free Software Foundation in
   version 2.2 of Bison.  */


/* Tokens.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
   /* Put the tokens into the symbol table, so that GDB and other debuggers
      know about them.  */
   enum yytokentype {
     INT_LITERAL = 258,
     DOUBLE_LITERAL = 259,
     COMPLEX_LITERAL = 260,
     STRING_LITERAL = 261,
     REGEXP_LITERAL = 262,
     IDENTIFIER = 263,
     GLOBAL = 264,
     FUNCTION = 265,
     IF = 266,
     ELSE = 267,
     ELSIF = 268,
     WHILE = 269,
     FOR = 270,
     SWITCH = 271,
     CASE = 272,
     DEFAULT = 273,
     TRY = 274,
     CATCH = 275,
     FINALLY = 276,
     RETURN_T = 277,
     BREAK = 278,
     CONTINUE = 279,
     IMPORT = 280,
     CONST = 281,
     NULL_T = 282,
     TRUE_T = 283,
     FALSE_T = 284,
     ASSIGN_T = 285,
     EQ = 286,
     NE = 287,
     GT = 288,
     GE = 289,
     LT = 290,
     LE = 291,
     ADD = 292,
     SUB = 293,
     MUL = 294,
     DIV = 295,
     MOD = 296,
     EXCLAMATION = 297,
     MOD_ASSIGN_T = 298,
     BIT_AND_ASSIGN_T = 299,
     BIT_AND = 300,
     ADD_ASSIGN_T = 301,
     SUB_ASSIGN_T = 302,
     MUL_ASSIGN_T = 303,
     DIV_ASSIGN_T = 304,
     BIT_XOR_ASSIGN_T = 305,
     BIT_OR_ASSIGN_T = 306,
     DOT_MUL = 307,
     DOT_DIV = 308,
     BIT_XOR = 309,
     BIT_OR = 310,
     BIT_NOT = 311,
     LOGICAL_AND = 312,
     LOGICAL_OR = 313,
     INCREMENT = 314,
     DECREMENT = 315,
     SEMICOLON = 316,
     COMMA = 317,
     COLON = 318,
     DOT = 319,
     AS = 320,
     LP = 321,
     RP = 322,
     LC = 323,
     RC = 324,
     LB = 325,
     RB = 326
   };
#endif
/* Tokens.  */
#define INT_LITERAL 258
#define DOUBLE_LITERAL 259
#define COMPLEX_LITERAL 260
#define STRING_LITERAL 261
#define REGEXP_LITERAL 262
#define IDENTIFIER 263
#define GLOBAL 264
#define FUNCTION 265
#define IF 266
#define ELSE 267
#define ELSIF 268
#define WHILE 269
#define FOR 270
#define SWITCH 271
#define CASE 272
#define DEFAULT 273
#define TRY 274
#define CATCH 275
#define FINALLY 276
#define RETURN_T 277
#define BREAK 278
#define CONTINUE 279
#define IMPORT 280
#define CONST 281
#define NULL_T 282
#define TRUE_T 283
#define FALSE_T 284
#define ASSIGN_T 285
#define EQ 286
#define NE 287
#define GT 288
#define GE 289
#define LT 290
#define LE 291
#define ADD 292
#define SUB 293
#define MUL 294
#define DIV 295
#define MOD 296
#define EXCLAMATION 297
#define MOD_ASSIGN_T 298
#define BIT_AND_ASSIGN_T 299
#define BIT_AND 300
#define ADD_ASSIGN_T 301
#define SUB_ASSIGN_T 302
#define MUL_ASSIGN_T 303
#define DIV_ASSIGN_T 304
#define BIT_XOR_ASSIGN_T 305
#define BIT_OR_ASSIGN_T 306
#define DOT_MUL 307
#define DOT_DIV 308
#define BIT_XOR 309
#define BIT_OR 310
#define BIT_NOT 311
#define LOGICAL_AND 312
#define LOGICAL_OR 313
#define INCREMENT 314
#define DECREMENT 315
#define SEMICOLON 316
#define COMMA 317
#define COLON 318
#define DOT 319
#define AS 320
#define LP 321
#define RP 322
#define LC 323
#define RC 324
#define LB 325
#define RB 326




#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{

/* Line 1676 of yacc.c  */
#line 5 "m.y"

    char                identifier;
    PackageName         package_name;
    ParameterList       parameter_list;
    ArgumentList        argument_list;
    Expression          expression;
    ExpressionList      expression_list;
    Statement           statement;
    StatementList       statement_list;
    Block               block;
    Elsif               elsif;
    CaseList            case_list;
    AssignmentOperator  assignment_operator;
    FunctionDefinition  function_definition;
    IdentifierList      identifier_list;



/* Line 1676 of yacc.c  */
#line 213 "y.tab.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif

extern YYSTYPE yylval;


